package hxg.stream;

import java.io.BufferedInputStream;
import java.io.FileInputStream;
import java.io.IOException;

/**
 * @author HeXiangGuang
 * @create 2021-06-25 23:07
 * 使用子节缓冲流读取
 */
public class Demo4 {
    public static void main(String[] args) throws IOException {
        //1创建
        FileInputStream fis = new FileInputStream("d:\\aaa.txt");
        //子节缓冲流
        BufferedInputStream bis = new BufferedInputStream(fis);
        //2读取
        //bis.read()默认读取的byte大小为8kb
/*        int data = 0;
        while ((data=bis.read())!=-1){
            System.out.print((char)data);
        }*/
        //data=bis.read()的时候只读取一个等于一个一个读，
        // 但是count=bis.read(buf)是直接读取文件所有buf只是最大限制，
        // 然后bis.read(buf)是放回的读取字节数是一个int类型的
        byte[] buf = new byte[1024];
        int count =0;
        while ((count=bis.read(buf))!=-1){
            System.out.println(new String(buf,0,count));
        }

        //3关闭
        bis.close();
    }
}
